The present application relates to computing, and more specifically to cloud-based systems, services, and accompanying methods and data storage mechanisms that are usable to develop and run software applications and associated process flows, i.e., sequences of computing tasks or activities.
Mechanisms for providing efficient cloud-based software development functionality are employed in various demanding applications, including integrated development environments for implementing process-based enterprise software applications, social network applications, general document synchronization applications, and so on. Such applications often demand efficient mechanisms for facilitating use of stored data by software applications during development (design time) and runtime.
Efficient data storage and handling mechanisms can be particularly important in enterprise applications, which can involve collaborative manipulation of various documents that may be part of one or more process flows (e.g., flows described by Business Process Model and Notation (BPMN) semantics). The process flows may demand manipulation of stored documents, folders, and metadata, including data storage locations.
Note that conventionally, documents and other attachments to a process or process flow are stored in a database Binary Large OBject (BLOB), where a BLOB may be any collection of binary data stored as a single entity in a database. BLOBs are often managed and accessed using a DataBase Management System (DBMS). Accordingly, documents used by a given process-based software application are often represented as a flat list stored as a database BLOB.
Conventionally, software developers may subscribe to certain cloud services (and accompanying integrated development environments) that include functionality for facilitating development of software applications and storage of associated files (e.g., using BLOBs). A cloud service that is configured for software application development (e.g., development of process flows) and/or use is called a Process Cloud Service (PCS) herein.
A PCS may employ a networked database to store files and other objects used by a given software application being developed. Server-side development environments may be accessible to developers via a browser. The development environments may be backed by a PCS, such that developed software application files are stored using one or more BLOBs of a PCS database.
However, conventionally, specialized PCS databases and accompanying BLOBs often lack certain features and functionality that may be particularly useful to developers and associated software applications and accompanying process flows.